#include <bits/stdc++.h>

using namespace std;

/**
 * @param numbers: An array of Integer
 * @param target: target = numbers[index1] + numbers[index2]
 * @return: [index1 + 1, index2 + 1] (index1 < index2)
 */
vector<int> twoSum(vector<int> &numbers, int target)
{
    // write your code here
    for(int i = 0; i < numbers.size() - 1; i++)
        for(int j = i + 1; j < numbers.size(); j++)
            if(numbers[i] + numbers[j] == target)
                return {i, j};
    return {};
}

int main()
{
    vector<int> numbers = {2, 7, 11, 15};
    int target = 11;
    vector<int> ret = twoSum(numbers, target);
    if(!ret.empty())
        printf("%d %d: %d %d", ret[0],ret[1], numbers[ret[0]], numbers[ret[1]]);
    return 0;
}

/**
 两数之和

给一个整数数组，找到两个数使得他们的和等于一个给定的数 target。

你需要实现的函数twoSum需要返回这两个数的下标, 并且第一个下标小于第二个下标。注意这里下标的范围是 0 到 n-1。
注意事项

你可以假设只有一组答案。
您在真实的面试中是否遇到过这个题？
样例

给出 numbers = [2, 7, 11, 15], target = 9, 返回 [0, 1].
*/
